package com.wn.demo01;

import cn.hutool.jwt.JWT;
import cn.hutool.jwt.JWTUtil;

import java.util.HashMap;
import java.util.Map;

/**
 * @author yellow Docter
 * @date 2023 -07-24
 * @desc
 *   jwt   一个开发性的标准
 *          很多工具类 提供了 操作 jwt的方法
 *
 *  hutool 工具类 操作 jwt
 */
public class Demo01 {

    public static void main(String[] args) {

        byte[] key = "1234".getBytes();

        //01 创建 token

        Map<String,Object> map = new HashMap<>();
        map.put("phone","12345");
        map.put("userId","123");

        //参数1 是载体
        //参数2 是，密匙
        String token = JWTUtil.createToken(map, key);
        System.out.println("token = " + token);

        //02 校验token
        boolean verify = JWTUtil.verify(token, key);
        System.out.println("verify = " + verify);

        //03 解析token
        JWT jwt = JWTUtil.parseToken(token);

        String phone = (String) jwt.getPayload("phone");
        String userId = (String) jwt.getPayload("userId");

        System.out.println("phone = " + phone);
        System.out.println("userId = " + userId);
    }

}
